#!/bin/bash

# MCP服务器启动测试脚本
echo "=== MCP服务器启动测试 ==="

# 设置脚本目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"

# 加载环境变量
if [ -f ".env.mcp" ]; then
    echo "✓ 加载环境变量配置..."
    export $(cat .env.mcp | grep -v '^#' | xargs)
else
    echo "⚠️  未找到 .env.mcp 文件"
fi

# 检查Python环境
echo "检查Python环境..."
if [ -f "venv/bin/activate" ]; then
    echo "✓ 发现虚拟环境，激活中..."
    source venv/bin/activate
fi

PYTHON_PATH=$(which python3)
echo "✓ Python路径: $PYTHON_PATH"
echo "✓ Python版本: $(python3 --version)"

# 检查依赖
echo "检查依赖..."
python3 -c "import pymysql; print('✓ pymysql 已安装')" 2>/dev/null || echo "❌ pymysql 未安装"
python3 -c "import mcp; print('✓ mcp 已安装')" 2>/dev/null || echo "❌ mcp 未安装"

# 检查项目结构
echo "检查项目结构..."
if [ -d "src/mysql_mcp_server" ]; then
    echo "✓ 项目结构正确"
else
    echo "❌ 项目结构错误"
fi

# 测试启动（3秒后自动停止）
echo "测试MCP服务器启动..."
echo "配置信息:"
echo "  数据库主机: ${MYSQL_HOST:-localhost}"
echo "  数据库端口: ${MYSQL_PORT:-3306}"
echo "  数据库名称: ${MYSQL_DATABASE:-test}"
echo "  用户名: ${MYSQL_USER:-root}"
echo ""

# 启动服务器并在后台运行
python3 -m src.mysql_mcp_server.main &
SERVER_PID=$!

# 等待3秒
sleep 3

# 停止服务器
if kill -0 $SERVER_PID 2>/dev/null; then
    echo "✓ MCP服务器启动成功"
    kill $SERVER_PID
    wait $SERVER_PID 2>/dev/null
    echo "✓ MCP服务器已停止"
else
    echo "❌ MCP服务器启动失败"
fi

echo "=== 测试完成 ==="